#include "p_c_module.hpp"

#include <unistd.h>

void* consumer(void* arg)

{

    BlockQueue<int>* bq=(BlockQueue<int>*)arg;

    while(true)

    {

        int ret=0;

        bq->Pop(ret);

        printf("我是消费者拿到了数据%d\n",ret);

        sleep(1);

    }

    return nullptr;

}

void* producer(void*arg)

{

    BlockQueue<int>* bq=(BlockQueue<int>*)arg;

    int cnt=1;

    while(true)

    {

        bq->EQueue(cnt);

        printf("我是生产者,生产了数据%d\n",cnt);

    }

    return nullptr;

}



int main()

{

    BlockQueue<int> bq;



    pthread_t c;

    pthread_t p;

    pthread_create(&c,nullptr,consumer,&bq);

    pthread_create(&p,nullptr,producer,&bq);

    pthread_join(c,nullptr);

    pthread_join(p,nullptr);

    return 0;

}



